package uiMain.menuconsola;

import gestorHotel.Hotel;
import gestorHotel.reserva.PenalizacionCancelacion;
import gestorHotel.reserva.RestriccionReserva;

import java.util.ArrayList;
import java.util.Scanner;

public class OpcionDeMenuModificarHotel extends OpcionDeMenu {

	public void ejecutar() {
		Scanner in = new Scanner(System.in);

		String h = seleccionarHotel();
		
		Hotel hotel = new Hotel();

		System.out.print("Ingrese la dirección: ");
		String direccion = in.nextLine();
		System.out.print("Ingrese la población: ");
		String poblacion = in.nextLine();
		System.out.print("Ingrese la provincia: ");
		String provincia = in.nextLine();
		System.out.print("Ingrese el país: ");
		String pais = in.nextLine();
		System.out.print("Ingrese el número de estrellas: ");
		int estrellas = Integer.parseInt(in.nextLine());
		
		System.out.print("Ingrese el máximo mes de adelanto: ");
		int maxMesAdelanto = Integer.parseInt(in.nextLine());
		System.out.print("Ingrese la máxima duración de una reserva: ");
		int maxDuracion = Integer.parseInt(in.nextLine());
		
		int[] antesDe = {5, 2, 1, 0};
		ArrayList<PenalizacionCancelacion> penalizaciones = new ArrayList<PenalizacionCancelacion>();
		for (int i = 0; i < antesDe.length; ++i) {
			System.out.print("Ingrese el costo por cancelar antes de " + antesDe[i] + " días (0-100): ");
			int costo = Integer.parseInt(in.nextLine());
			penalizaciones.add(new PenalizacionCancelacion((double)costo / 100.0, antesDe[i]));
		}
		
		RestriccionReserva restriccion = new RestriccionReserva(maxMesAdelanto, maxDuracion);
		
		hotel.setNombre(h);
		hotel.setDireccion(direccion);
		hotel.setPoblacion(poblacion);
		hotel.setProvincia(provincia);
		hotel.setPais(pais);
		hotel.setNumEstrellas(estrellas);
		hotel.setRestriccion(restriccion);
		hotel.setPenalizaciones(penalizaciones);
			
		if (confirmarAccion()) {
			hotel.editar();
			System.out.println("El hotel ha sido modificado!");
		}
	}

	public String getDescripcion() {
		return "Modificar hotel.";
	}

}
